/***********************************************************************************************************************
 * ############################################# Application AdewebLite #############################################
 * AdewebLite Android est une application permettant de consulter des emplois du temps fournis par l'université UHP
 * avec ou sans connexion internet (informations gardées en mémoire à chaque synchronisation). Et utilisant la web
 * API ADE pour collecter les données.
 * @author Andrianjafintrimo Victor, Zanette Sébastien
 * 
 * Basée sur l'application du même nom, utilisant le flux RSS (données à traiter), de :
 * @author Schnell Michaël, Zanette Sébastien
 * **********************************************************************************************************************
 */

package ade.prime.activity.parameters;

import java.util.ArrayList;
import java.util.Iterator;

import android.os.Parcelable;

/**
 * Gère une collection de <code>ParameterType</code>.
 * @author Seb
 */
public class Parameters extends ArrayList<ParameterType> {

	private static final long serialVersionUID = 7767551078888533754L;

	/**
	 * Constructeur unique.
	 */
	public Parameters() {
		super() ;
	}

	/**
	 * Retourne l'id du composant du champ.
	 * @param id
	 * @return id du composant du champ
	 */
	public ParameterType getById(String id) {
		for(ParameterType p : this) {
			if (p.getId().equals(id)) {
				return p ;
			}// if
		}// for
		return null ;
	}

	/**
	 * Retourne tous les id des composants.
	 * @param id
	 * @return id du composant des composants
	 */
	public Parameters getAllById (String id) {
		Parameters result = new Parameters() ;
		for(ParameterType p : this) {
			if (p.getId().equals(id)) {
				result.add(p) ;
			}// if
		}// for
		return result ;
	}

	/**
	 * Supprime un composant <code>ScheduleResource</code> de la vue globale.
	 * @param id 
	 */
	public void removeResource (int id) {
		for(Iterator<ParameterType> iter = this.iterator(); iter.hasNext(); ){
			ParameterType p = iter.next() ;
			if (p instanceof ScheduleResource) {
				ScheduleResource ress = (ScheduleResource) p;
				if (ress.getRessourceId() == id) {
					iter.remove() ;
				}// if
			}
		}// for
	}

}